{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 05-Pandas 实战\n",
    "- 2021.07   \n",
    "- by：樊晓唯"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个一篇针对pandas新手的简短入门，想要了解更多复杂的内容，参阅[*Pandas Cookbook*](http://pandas.pydata.org/pandas-docs/stable/cookbook.html#cookbook)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通常，我们首先要导入以下几个库："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Series  列类型\n",
    "- 系列(Series)是能够保存任何类型的数据(整数，字符串，浮点数，Python对象等)的一维标记数组。轴标签统称为索引。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.1 构建Series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0     1.0\n",
      "1     3.0\n",
      "2     5.0\n",
      "3     NaN\n",
      "4     6.0\n",
      "5     8.0\n",
      "6     inf\n",
      "7     NaN\n",
      "8     4.0\n",
      "9    12.0\n",
      "Name: AAA, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# 通过传递一个list来创建Series，pandas会默认创建整型索引：\n",
    "# 默认index从0开始\n",
    "# np.nan 空值\n",
    "# np.inf  无穷大\n",
    "s = pd.Series([1,3,5,np.nan,6,8,np.inf, np.nan, 4,12], name = 'AAA')\n",
    "print(s)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.series.Series'> 10\n"
     ]
    }
   ],
   "source": [
    "print(type(s), len(s))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.2 访问Series元素\n",
    "- 用法：索引切片  (同numpy）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1    3.0\n",
      "2    5.0\n",
      "3    NaN\n",
      "4    6.0\n",
      "5    8.0\n",
      "6    inf\n",
      "7    NaN\n",
      "Name: AAA, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# 下标访问，切片\n",
    "print(s[1:-2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.3 修改元素"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0     1.0\n",
      "1     3.0\n",
      "2     5.0\n",
      "3     NaN\n",
      "4     6.0\n",
      "5     8.0\n",
      "6     inf\n",
      "7     NaN\n",
      "8     4.0\n",
      "9    12.0\n",
      "Name: AAA, dtype: float64\n",
      "修改后，s：\n",
      " 0       1.0\n",
      "1    1000.0\n",
      "2       5.0\n",
      "3       NaN\n",
      "4       6.0\n",
      "5       8.0\n",
      "6       inf\n",
      "7       NaN\n",
      "8       4.0\n",
      "9      12.0\n",
      "Name: AAA, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# Series的访问和操作，非常类似np的一维array\n",
    "# 按索引来访问和修改value\n",
    "print(s)\n",
    "s[1] = 1000\n",
    "print(\"修改后，s：\\n\", s)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.4 常用统计函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "max=  inf\n",
      "min=  1.0\n"
     ]
    }
   ],
   "source": [
    "# 统计\n",
    "print(\"max= \",s.max())\n",
    "print(\"min= \",s.min())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.DataFrame\n",
    "- 最常用的Pandas里的数据结构，可以理解为是二维的数据表格\n",
    "- DataFrame的各列可以是独立的数据类型，如int，float，object（str），bool（True/False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1 创建"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>Lee</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C       D          E     F    G\n",
       "0  5  10   Jack     1.0 2021-07-02  True  0.1\n",
       "1  5  11   Rose  1000.0 2021-07-02  True  0.2\n",
       "2  5  12    Lee     5.0 2021-07-02  True  0.3\n",
       "3  5  13   Lucy     NaN 2021-07-02  True  0.4\n",
       "4  5  14  Tommy     6.0 2021-07-02  True  0.5\n",
       "5  5  15  Jarry     8.0 2021-07-02  True  0.6\n",
       "6  5  16    Dom     inf 2021-07-02  True  0.7\n",
       "7  5  17  Alice     NaN 2021-07-02  True  0.8\n",
       "8  5  18    Gim     4.0 2021-07-02  True  0.9\n",
       "9  5  19    May    12.0 2021-07-02  True  1.0"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 通过dict来创建，key--colnames，  value--value\n",
    "df = pd.DataFrame({ 'A' : 5,\n",
    "                     'B' : np.arange(10,20),   #10,11,12...19\n",
    "                     'C' : [\"Jack\",\"Rose\",\"Lee\",\"Lucy\",\"Tommy\",\"Jarry\",\"Dom\",\"Alice\",\"Gim\",\"May\"],\n",
    "                     'D' : s,  # Series\n",
    "                     'E' : pd.Timestamp('20210702'),\n",
    "                     'F' : True,\n",
    "                     'G' : np.linspace(0.1,1,10)   # 0.1,0.2,0.3.... 1.0\n",
    "                  })\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[16, 15, 10,  1],\n",
       "       [15, 18,  6, 18],\n",
       "       [ 3, 13,  7, 13],\n",
       "       [ 1,  5,  8,  9],\n",
       "       [15,  5,  7, 15],\n",
       "       [ 6, 11,  2, 18]])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 通过numpy.array创建\n",
    "array1 = np.random.randint(0,20,(6,4))\n",
    "array1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>a</th>\n",
       "      <th>b</th>\n",
       "      <th>c</th>\n",
       "      <th>d</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>16</td>\n",
       "      <td>15</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>15</td>\n",
       "      <td>18</td>\n",
       "      <td>6</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>15</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>11</td>\n",
       "      <td>2</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    a   b   c   d\n",
       "0  16  15  10   1\n",
       "1  15  18   6  18\n",
       "2   3  13   7  13\n",
       "3   1   5   8   9\n",
       "4  15   5   7  15\n",
       "5   6  11   2  18"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = pd.DataFrame(array1, columns=['a','b','c','d'])\n",
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 DataFrame 常用属性和方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>Lee</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B     C       D          E     F    G\n",
       "0  5  10  Jack     1.0 2021-07-02  True  0.1\n",
       "1  5  11  Rose  1000.0 2021-07-02  True  0.2\n",
       "2  5  12   Lee     5.0 2021-07-02  True  0.3"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看前n行的数据 head()  默认是展示5行\n",
    "df.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C     D          E     F    G\n",
       "5  5  15  Jarry   8.0 2021-07-02  True  0.6\n",
       "6  5  16    Dom   inf 2021-07-02  True  0.7\n",
       "7  5  17  Alice   NaN 2021-07-02  True  0.8\n",
       "8  5  18    Gim   4.0 2021-07-02  True  0.9\n",
       "9  5  19    May  12.0 2021-07-02  True  1.0"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看最后的n行\n",
    "df.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 10 entries, 0 to 9\n",
      "Data columns (total 7 columns):\n",
      " #   Column  Non-Null Count  Dtype         \n",
      "---  ------  --------------  -----         \n",
      " 0   A       10 non-null     int64         \n",
      " 1   B       10 non-null     int32         \n",
      " 2   C       10 non-null     object        \n",
      " 3   D       8 non-null      float64       \n",
      " 4   E       10 non-null     datetime64[ns]\n",
      " 5   F       10 non-null     bool          \n",
      " 6   G       10 non-null     float64       \n",
      "dtypes: bool(1), datetime64[ns](1), float64(2), int32(1), int64(1), object(1)\n",
      "memory usage: 578.0+ bytes\n"
     ]
    }
   ],
   "source": [
    "# 查看DF的基本信息\n",
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>D</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>10.0</td>\n",
       "      <td>10.00000</td>\n",
       "      <td>8.00</td>\n",
       "      <td>10.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>5.0</td>\n",
       "      <td>14.50000</td>\n",
       "      <td>inf</td>\n",
       "      <td>0.550000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>0.0</td>\n",
       "      <td>3.02765</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.302765</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>5.0</td>\n",
       "      <td>10.00000</td>\n",
       "      <td>1.00</td>\n",
       "      <td>0.100000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>5.0</td>\n",
       "      <td>12.25000</td>\n",
       "      <td>4.75</td>\n",
       "      <td>0.325000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>5.0</td>\n",
       "      <td>14.50000</td>\n",
       "      <td>7.00</td>\n",
       "      <td>0.550000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>5.0</td>\n",
       "      <td>16.75000</td>\n",
       "      <td>259.00</td>\n",
       "      <td>0.775000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>5.0</td>\n",
       "      <td>19.00000</td>\n",
       "      <td>inf</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          A         B       D          G\n",
       "count  10.0  10.00000    8.00  10.000000\n",
       "mean    5.0  14.50000     inf   0.550000\n",
       "std     0.0   3.02765     NaN   0.302765\n",
       "min     5.0  10.00000    1.00   0.100000\n",
       "25%     5.0  12.25000    4.75   0.325000\n",
       "50%     5.0  14.50000    7.00   0.550000\n",
       "75%     5.0  16.75000  259.00   0.775000\n",
       "max     5.0  19.00000     inf   1.000000"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 统计数值类型的列的描述性\n",
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "A             int64\n",
       "B             int32\n",
       "C            object\n",
       "D           float64\n",
       "E    datetime64[ns]\n",
       "F              bool\n",
       "G           float64\n",
       "dtype: object"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看每一列的数据类型  df.info()\n",
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=10, step=1)"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index   #看索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['A', 'B', 'C', 'D', 'E', 'F', 'G'], dtype='object')"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns  # 看列名"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[5, 10, 'Jack', 1.0, Timestamp('2021-07-02 00:00:00'), True, 0.1],\n",
       "       [5, 11, 'Rose', 1000.0, Timestamp('2021-07-02 00:00:00'), True,\n",
       "        0.2],\n",
       "       [5, 12, 'Lee', 5.0, Timestamp('2021-07-02 00:00:00'), True,\n",
       "        0.30000000000000004],\n",
       "       [5, 13, 'Lucy', nan, Timestamp('2021-07-02 00:00:00'), True, 0.4],\n",
       "       [5, 14, 'Tommy', 6.0, Timestamp('2021-07-02 00:00:00'), True, 0.5],\n",
       "       [5, 15, 'Jarry', 8.0, Timestamp('2021-07-02 00:00:00'), True, 0.6],\n",
       "       [5, 16, 'Dom', inf, Timestamp('2021-07-02 00:00:00'), True,\n",
       "        0.7000000000000001],\n",
       "       [5, 17, 'Alice', nan, Timestamp('2021-07-02 00:00:00'), True, 0.8],\n",
       "       [5, 18, 'Gim', 4.0, Timestamp('2021-07-02 00:00:00'), True, 0.9],\n",
       "       [5, 19, 'May', 12.0, Timestamp('2021-07-02 00:00:00'), True, 1.0]],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.values  # 只取二维表的数据部分，抛弃列名和行索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "      <th>9</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>A</th>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B</th>\n",
       "      <td>10</td>\n",
       "      <td>11</td>\n",
       "      <td>12</td>\n",
       "      <td>13</td>\n",
       "      <td>14</td>\n",
       "      <td>15</td>\n",
       "      <td>16</td>\n",
       "      <td>17</td>\n",
       "      <td>18</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C</th>\n",
       "      <td>Jack</td>\n",
       "      <td>Rose</td>\n",
       "      <td>Lee</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>Dom</td>\n",
       "      <td>Alice</td>\n",
       "      <td>Gim</td>\n",
       "      <td>May</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D</th>\n",
       "      <td>1</td>\n",
       "      <td>1000</td>\n",
       "      <td>5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6</td>\n",
       "      <td>8</td>\n",
       "      <td>inf</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E</th>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F</th>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>G</th>\n",
       "      <td>0.1</td>\n",
       "      <td>0.2</td>\n",
       "      <td>0.3</td>\n",
       "      <td>0.4</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.6</td>\n",
       "      <td>0.7</td>\n",
       "      <td>0.8</td>\n",
       "      <td>0.9</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     0                    1                    2  \\\n",
       "A                    5                    5                    5   \n",
       "B                   10                   11                   12   \n",
       "C                 Jack                 Rose                  Lee   \n",
       "D                    1                 1000                    5   \n",
       "E  2021-07-02 00:00:00  2021-07-02 00:00:00  2021-07-02 00:00:00   \n",
       "F                 True                 True                 True   \n",
       "G                  0.1                  0.2                  0.3   \n",
       "\n",
       "                     3                    4                    5  \\\n",
       "A                    5                    5                    5   \n",
       "B                   13                   14                   15   \n",
       "C                 Lucy                Tommy                Jarry   \n",
       "D                  NaN                    6                    8   \n",
       "E  2021-07-02 00:00:00  2021-07-02 00:00:00  2021-07-02 00:00:00   \n",
       "F                 True                 True                 True   \n",
       "G                  0.4                  0.5                  0.6   \n",
       "\n",
       "                     6                    7                    8  \\\n",
       "A                    5                    5                    5   \n",
       "B                   16                   17                   18   \n",
       "C                  Dom                Alice                  Gim   \n",
       "D                  inf                  NaN                    4   \n",
       "E  2021-07-02 00:00:00  2021-07-02 00:00:00  2021-07-02 00:00:00   \n",
       "F                 True                 True                 True   \n",
       "G                  0.7                  0.8                  0.9   \n",
       "\n",
       "                     9  \n",
       "A                    5  \n",
       "B                   19  \n",
       "C                  May  \n",
       "D                   12  \n",
       "E  2021-07-02 00:00:00  \n",
       "F                 True  \n",
       "G                    1  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.T   # 二维表的转置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>Lee</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C       D          E     F    G\n",
       "9  5  19    May    12.0 2021-07-02  True  1.0\n",
       "8  5  18    Gim     4.0 2021-07-02  True  0.9\n",
       "7  5  17  Alice     NaN 2021-07-02  True  0.8\n",
       "6  5  16    Dom     inf 2021-07-02  True  0.7\n",
       "5  5  15  Jarry     8.0 2021-07-02  True  0.6\n",
       "4  5  14  Tommy     6.0 2021-07-02  True  0.5\n",
       "3  5  13   Lucy     NaN 2021-07-02  True  0.4\n",
       "2  5  12    Lee     5.0 2021-07-02  True  0.3\n",
       "1  5  11   Rose  1000.0 2021-07-02  True  0.2\n",
       "0  5  10   Jack     1.0 2021-07-02  True  0.1"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 根据索引进行排序\n",
    "df.sort_index( axis = 0 ,ascending=False)  # ascending=True 默认升序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>Lee</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C       D          E     F    G\n",
       "0  5  10   Jack     1.0 2021-07-02  True  0.1\n",
       "8  5  18    Gim     4.0 2021-07-02  True  0.9\n",
       "2  5  12    Lee     5.0 2021-07-02  True  0.3\n",
       "4  5  14  Tommy     6.0 2021-07-02  True  0.5\n",
       "5  5  15  Jarry     8.0 2021-07-02  True  0.6\n",
       "9  5  19    May    12.0 2021-07-02  True  1.0\n",
       "1  5  11   Rose  1000.0 2021-07-02  True  0.2\n",
       "6  5  16    Dom     inf 2021-07-02  True  0.7\n",
       "3  5  13   Lucy     NaN 2021-07-02  True  0.4\n",
       "7  5  17  Alice     NaN 2021-07-02  True  0.8"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 根据某一列的值进行排序\n",
    "# inplace=False 不改变原来的df的值，只是做一个排序，结果可以赋给新得变量。True直接改变了原来df的值\n",
    "df.sort_values(by='D',ascending=True,inplace=False,)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3 访问DataFrame\n",
    "- 推荐使用优化过的pandas数据访问方法：.loc，.iloc和.ix"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.3.1 切片访问\n",
    "- 通过使用[ ]进行切片选取："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>Lee</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C    D          E     F    G\n",
       "2  5  12    Lee  5.0 2021-07-02  True  0.3\n",
       "3  5  13   Lucy  NaN 2021-07-02  True  0.4\n",
       "4  5  14  Tommy  6.0 2021-07-02  True  0.5\n",
       "5  5  15  Jarry  8.0 2021-07-02  True  0.6\n",
       "6  5  16    Dom  inf 2021-07-02  True  0.7"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.iloc[2:7]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C    D          E     F    G\n",
       "3  5  13   Lucy  NaN 2021-07-02  True  0.4\n",
       "4  5  14  Tommy  6.0 2021-07-02  True  0.5\n",
       "5  5  15  Jarry  8.0 2021-07-02  True  0.6\n",
       "6  5  16    Dom  inf 2021-07-02  True  0.7\n",
       "7  5  17  Alice  NaN 2021-07-02  True  0.8\n",
       "8  5  18    Gim  4.0 2021-07-02  True  0.9"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.iloc[3:-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Lucy'"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# iloc[,] ,左边是行，后边是列\n",
    "df.iloc[3,2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>12</td>\n",
       "      <td>Lee</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    B      C       D          E     F\n",
       "0  10   Jack     1.0 2021-07-02  True\n",
       "1  11   Rose  1000.0 2021-07-02  True\n",
       "2  12    Lee     5.0 2021-07-02  True\n",
       "3  13   Lucy     NaN 2021-07-02  True\n",
       "4  14  Tommy     6.0 2021-07-02  True\n",
       "5  15  Jarry     8.0 2021-07-02  True\n",
       "6  16    Dom     inf 2021-07-02  True\n",
       "7  17  Alice     NaN 2021-07-02  True\n",
       "8  18    Gim     4.0 2021-07-02  True\n",
       "9  19    May    12.0 2021-07-02  True"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.iloc[:,1:6]  # 只写：表示不做任何限制"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.3.2 通过列标签访问\n",
    "\n",
    "- 选择某一列数据，它会返回一个**Series**，等同于**df.A**：\n",
    "- 进行标签切片，包含两个端点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>C</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>Jack</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>Rose</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>Lee</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>Dom</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>Alice</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>Gim</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>May</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A      C    G\n",
       "0  5   Jack  0.1\n",
       "1  5   Rose  0.2\n",
       "2  5    Lee  0.3\n",
       "3  5   Lucy  0.4\n",
       "4  5  Tommy  0.5\n",
       "5  5  Jarry  0.6\n",
       "6  5    Dom  0.7\n",
       "7  5  Alice  0.8\n",
       "8  5    Gim  0.9\n",
       "9  5    May  1.0"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[['A','C','G']]  # df.A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    5\n",
       "1    5\n",
       "2    5\n",
       "3    5\n",
       "4    5\n",
       "5    5\n",
       "6    5\n",
       "7    5\n",
       "8    5\n",
       "9    5\n",
       "Name: A, dtype: int64"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 如果列标签纯英文的情况下，也可以使用：\n",
    "df.A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>C</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>Jack</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>Rose</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>Lee</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>Lucy</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>Tommy</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A      C\n",
       "0  5   Jack\n",
       "1  5   Rose\n",
       "2  5    Lee\n",
       "3  5   Lucy\n",
       "4  5  Tommy"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[['A','C']][:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    5\n",
       "1    5\n",
       "2    5\n",
       "3    5\n",
       "4    5\n",
       "5    5\n",
       "6    5\n",
       "7    5\n",
       "8    5\n",
       "9    5\n",
       "Name: A, dtype: int64"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[:,'A']  # []必须要规范，用，分割，左边写行的范围，右边是列的范围"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B\n",
       "0  5  10\n",
       "1  5  11\n",
       "2  5  12"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[0:2,['A','B']]  # loc里的行和列是 包头包尾"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B\n",
       "0  5  10\n",
       "1  5  11\n",
       "2  5  12"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[['A','B']][0:3]   # 建议使用这种方式。切片逻辑和python的其他数据结构是一致的：包含头 不含尾"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.3.3 通过条件访问数据---布尔索引\n",
    "- 根据某一条件的结果（bool值）来选择数据，条件写在[ ]内"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     Jack\n",
       "2      Lee\n",
       "4    Tommy\n",
       "6      Dom\n",
       "8      Gim\n",
       "Name: C, dtype: object"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['C'][[True,False,True,False,True,False,True,False,True,False]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>12</td>\n",
       "      <td>Lee</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C       D          E     F    G\n",
       "0  5  10   Jack     1.0 2021-07-02  True  0.1\n",
       "1  5  11   Rose  1000.0 2021-07-02  True  0.2\n",
       "2  5  12    Lee     5.0 2021-07-02  True  0.3\n",
       "3  5  13   Lucy     NaN 2021-07-02  True  0.4\n",
       "4  5  14  Tommy     6.0 2021-07-02  True  0.5\n",
       "5  5  15  Jarry     8.0 2021-07-02  True  0.6\n",
       "6  5  16    Dom     inf 2021-07-02  True  0.7\n",
       "7  5  17  Alice     NaN 2021-07-02  True  0.8\n",
       "8  5  18    Gim     4.0 2021-07-02  True  0.9\n",
       "9  5  19    May    12.0 2021-07-02  True  1.0"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C     D          E     F    G\n",
       "6  5  16    Dom   inf 2021-07-02  True  0.7\n",
       "7  5  17  Alice   NaN 2021-07-02  True  0.8\n",
       "8  5  18    Gim   4.0 2021-07-02  True  0.9\n",
       "9  5  19    May  12.0 2021-07-02  True  1.0"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['B']>15]  # 用的是bool索引   非常select * from df  where df.B>15"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B    C    D          E     F    G\n",
       "6  5  16  Dom  inf 2021-07-02  True  0.7"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['D']==np.inf]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C   D          E     F    G\n",
       "3  5  13   Lucy NaN 2021-07-02  True  0.4\n",
       "7  5  17  Alice NaN 2021-07-02  True  0.8"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['D'].isnull()]  # isnull() 判空"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B    C     D          E     F    G\n",
       "8  5  18  Gim   4.0 2021-07-02  True  0.9\n",
       "9  5  19  May  12.0 2021-07-02  True  1.0"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df['B']>15) & (df['G']>0.8) ]  # 多重条件 逻辑与或"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02</td>\n",
       "      <td>True</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B      C       D          E     F    G\n",
       "1  5  11   Rose  1000.0 2021-07-02  True  0.2\n",
       "6  5  16    Dom     inf 2021-07-02  True  0.7\n",
       "7  5  17  Alice     NaN 2021-07-02  True  0.8"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['C'].isin(['Rose','Alice','Dom'])]  # 判断是否在列表中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>100.0</td>\n",
       "      <td>2021-06-30</td>\n",
       "      <td>True</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   A   B     C      D          E     F    G\n",
       "1  5  11  Rose  100.0 2021-06-30  True  0.2"
      ]
     },
     "execution_count": 135,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['C'].str.startswith('R')]    # 判断字符串"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.4 修改DataFrame"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.4.1 按行或列修改"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   A   B      C       D          E     F    G\n",
      "0  5  10   Jack     1.0 2021-07-02  True  0.1\n",
      "1  5  11   Rose  1000.0 2021-07-02  True  0.2\n",
      "2  5  12    Lee     5.0 2021-07-02  True  0.3\n",
      "3  5  13   Lucy     NaN 2021-07-02  True  0.4\n",
      "4  5  14  Tommy     6.0 2021-07-02  True  0.5\n",
      "5  5  15  Jarry     8.0 2021-07-02  True  0.6\n",
      "6  5  16    Dom     inf 2021-07-02  True  0.7\n",
      "7  5  17  Alice     NaN 2021-07-02  True  0.8\n",
      "8  5  18    Gim     4.0 2021-07-02  True  0.9\n",
      "9  5  19    May    12.0 2021-07-02  True  1.0 \n",
      "\n",
      "修改后：\n",
      "\n",
      "   A   B      C       D          E   F    G\n",
      "0  5  10   Jack     1.0 2021-07-02 NaN  0.1\n",
      "1  5  11   Rose  1000.0 2021-07-02 NaN  0.2\n",
      "2  5  12    Lee     5.0 2021-07-02 NaN  0.3\n",
      "3  5  13   Lucy     NaN 2021-07-02 NaN  0.4\n",
      "4  5  14  Tommy     6.0 2021-07-02 NaN  0.5\n",
      "5  5  15  Jarry     8.0 2021-07-02 NaN  0.6\n",
      "6  5  16    Dom     inf 2021-07-02 NaN  0.7\n",
      "7  5  17  Alice     NaN 2021-07-02 NaN  0.8\n",
      "8  5  18    Gim     4.0 2021-07-02 NaN  0.9\n",
      "9  5  19    May    12.0 2021-07-02 NaN  1.0\n"
     ]
    }
   ],
   "source": [
    "# 列批处理，F列全改为NaN\n",
    "df2 = df.copy()\n",
    "print(df2,'\\n')\n",
    "print('修改后：\\n')\n",
    "df2['F'] = np.nan\n",
    "print(df2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 10 entries, 0 to 9\n",
      "Data columns (total 7 columns):\n",
      " #   Column  Non-Null Count  Dtype         \n",
      "---  ------  --------------  -----         \n",
      " 0   A       10 non-null     int64         \n",
      " 1   B       10 non-null     int32         \n",
      " 2   C       10 non-null     object        \n",
      " 3   D       8 non-null      float64       \n",
      " 4   E       10 non-null     datetime64[ns]\n",
      " 5   F       0 non-null      float64       \n",
      " 6   G       10 non-null     float64       \n",
      "dtypes: datetime64[ns](1), float64(3), int32(1), int64(1), object(1)\n",
      "memory usage: 648.0+ bytes\n"
     ]
    }
   ],
   "source": [
    "df2.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>16</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>18</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>19</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      A     B      C       D                    E       F       G\n",
       "0     5    10   Jack     1.0  2021-07-02 00:00:00     NaN     0.1\n",
       "1     5    11   Rose  1000.0  2021-07-02 00:00:00     NaN     0.2\n",
       "2  2000  2000   2000  2000.0                 2000  2000.0  2000.0\n",
       "3     5    13   Lucy     NaN  2021-07-02 00:00:00     NaN     0.4\n",
       "4     5    14  Tommy     6.0  2021-07-02 00:00:00     NaN     0.5\n",
       "5     5    15  Jarry     8.0  2021-07-02 00:00:00     NaN     0.6\n",
       "6     5    16    Dom     inf  2021-07-02 00:00:00     NaN     0.7\n",
       "7     5    17  Alice     NaN  2021-07-02 00:00:00     NaN     0.8\n",
       "8     5    18    Gim     4.0  2021-07-02 00:00:00     NaN     0.9\n",
       "9     5    19    May    12.0  2021-07-02 00:00:00     NaN     1.0"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.iloc[2] = 2000\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 10 entries, 0 to 9\n",
      "Data columns (total 7 columns):\n",
      " #   Column  Non-Null Count  Dtype  \n",
      "---  ------  --------------  -----  \n",
      " 0   A       10 non-null     int64  \n",
      " 1   B       10 non-null     int32  \n",
      " 2   C       10 non-null     object \n",
      " 3   D       8 non-null      float64\n",
      " 4   E       10 non-null     object \n",
      " 5   F       1 non-null      float64\n",
      " 6   G       10 non-null     float64\n",
      "dtypes: float64(3), int32(1), int64(1), object(2)\n",
      "memory usage: 648.0+ bytes\n"
     ]
    }
   ],
   "source": [
    "df2.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.4.2 根据条件设置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-76-083a8ba302f0>:1: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df2['B'][df['B']>15] = 0\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      A     B      C       D                    E       F       G\n",
       "0     5    10   Jack     1.0  2021-07-02 00:00:00     NaN     0.1\n",
       "1     5    11   Rose  1000.0  2021-07-02 00:00:00     NaN     0.2\n",
       "2  2000  2000   2000  2000.0                 2000  2000.0  2000.0\n",
       "3     5    13   Lucy     NaN  2021-07-02 00:00:00     NaN     0.4\n",
       "4     5    14  Tommy     6.0  2021-07-02 00:00:00     NaN     0.5\n",
       "5     5    15  Jarry     8.0  2021-07-02 00:00:00     NaN     0.6\n",
       "6     5     0    Dom     inf  2021-07-02 00:00:00     NaN     0.7\n",
       "7     5     0  Alice     NaN  2021-07-02 00:00:00     NaN     0.8\n",
       "8     5     0    Gim     4.0  2021-07-02 00:00:00     NaN     0.9\n",
       "9     5     0    May    12.0  2021-07-02 00:00:00     NaN     1.0"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2['B'][df['B']>15] = 0\n",
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.5 Pandas 缺失值处理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.5.1 查看缺失值情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 10 entries, 0 to 9\n",
      "Data columns (total 7 columns):\n",
      " #   Column  Non-Null Count  Dtype  \n",
      "---  ------  --------------  -----  \n",
      " 0   A       10 non-null     int64  \n",
      " 1   B       10 non-null     int32  \n",
      " 2   C       10 non-null     object \n",
      " 3   D       8 non-null      float64\n",
      " 4   E       10 non-null     object \n",
      " 5   F       1 non-null      float64\n",
      " 6   G       10 non-null     float64\n",
      "dtypes: float64(3), int32(1), int64(1), object(2)\n",
      "memory usage: 648.0+ bytes\n"
     ]
    }
   ],
   "source": [
    "df2.info()  #Non-Null Count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "A    0\n",
       "B    0\n",
       "C    0\n",
       "D    2\n",
       "E    0\n",
       "F    9\n",
       "G    0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Alice</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      A     B      C       D                    E       F       G\n",
       "0     5    10   Jack     1.0  2021-07-02 00:00:00     NaN     0.1\n",
       "1     5    11   Rose  1000.0  2021-07-02 00:00:00     NaN     0.2\n",
       "2  2000  2000   2000  2000.0                 2000  2000.0  2000.0\n",
       "3     5    13   Lucy     NaN  2021-07-02 00:00:00     NaN     0.4\n",
       "4     5    14  Tommy     6.0  2021-07-02 00:00:00     NaN     0.5\n",
       "5     5    15  Jarry     8.0  2021-07-02 00:00:00     NaN     0.6\n",
       "6     5     0    Dom     inf  2021-07-02 00:00:00     NaN     0.7\n",
       "7     5     0  Alice     NaN  2021-07-02 00:00:00     NaN     0.8\n",
       "8     5     0    Gim     4.0  2021-07-02 00:00:00     NaN     0.9\n",
       "9     5     0    May    12.0  2021-07-02 00:00:00     NaN     1.0"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.5.2 删除掉有NaN的行或列  dropna"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      A     B     C       D     E       F       G\n",
       "2  2000  2000  2000  2000.0  2000  2000.0  2000.0"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 删除掉有NaN的行或列\n",
    "df2.dropna() # 默认是删除掉包含有NaN的行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>E</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Dom</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Alice</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Gim</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>May</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      A     B      C                    E       G\n",
       "0     5    10   Jack  2021-07-02 00:00:00     0.1\n",
       "1     5    11   Rose  2021-07-02 00:00:00     0.2\n",
       "2  2000  2000   2000                 2000  2000.0\n",
       "3     5    13   Lucy  2021-07-02 00:00:00     0.4\n",
       "4     5    14  Tommy  2021-07-02 00:00:00     0.5\n",
       "5     5    15  Jarry  2021-07-02 00:00:00     0.6\n",
       "6     5     0    Dom  2021-07-02 00:00:00     0.7\n",
       "7     5     0  Alice  2021-07-02 00:00:00     0.8\n",
       "8     5     0    Gim  2021-07-02 00:00:00     0.9\n",
       "9     5     0    May  2021-07-02 00:00:00     1.0"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 只删除包含NaN的列\n",
    "df2.dropna(axis=1, # 0对行进行操作;1对列进行操作\n",
    "           how='any' # 'any':只要存在NaN就drop掉；'all':必须全部是NaN才drop\n",
    "            )\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.5.3 替换NaN值为0或者其他  fillna"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>A</th>\n",
       "      <th>B</th>\n",
       "      <th>C</th>\n",
       "      <th>D</th>\n",
       "      <th>E</th>\n",
       "      <th>F</th>\n",
       "      <th>G</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5</td>\n",
       "      <td>10</td>\n",
       "      <td>Jack</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>11</td>\n",
       "      <td>Rose</td>\n",
       "      <td>1000.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000</td>\n",
       "      <td>2000.0</td>\n",
       "      <td>2000</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>2000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "      <td>Lucy</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>14</td>\n",
       "      <td>Tommy</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "      <td>15</td>\n",
       "      <td>Jarry</td>\n",
       "      <td>8.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Dom</td>\n",
       "      <td>inf</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Alice</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>Gim</td>\n",
       "      <td>4.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>0.9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>May</td>\n",
       "      <td>12.0</td>\n",
       "      <td>2021-07-02 00:00:00</td>\n",
       "      <td>-1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      A     B      C       D                    E    F       G\n",
       "0     5    10   Jack     1.0  2021-07-02 00:00:00 -1.0     0.1\n",
       "1     5    11   Rose  1000.0  2021-07-02 00:00:00 -1.0     0.2\n",
       "2  2000  2000   2000  2000.0                 2000 -1.0  2000.0\n",
       "3     5    13   Lucy    -1.0  2021-07-02 00:00:00 -1.0     0.4\n",
       "4     5    14  Tommy     6.0  2021-07-02 00:00:00 -1.0     0.5\n",
       "5     5    15  Jarry     8.0  2021-07-02 00:00:00 -1.0     0.6\n",
       "6     5     0    Dom     inf  2021-07-02 00:00:00 -1.0     0.7\n",
       "7     5     0  Alice    -1.0  2021-07-02 00:00:00 -1.0     0.8\n",
       "8     5     0    Gim     4.0  2021-07-02 00:00:00 -1.0     0.9\n",
       "9     5     0    May    12.0  2021-07-02 00:00:00 -1.0     1.0"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 替换NaN值为0或者其他\n",
    "df2 = df2.fillna(value=-1)\n",
    "df2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.6 DataFrame文件读写"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.6.1 读取csv/txt/excel等\n",
    "- sep\n",
    "- encoding"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Student ID</th>\n",
       "      <th>name</th>\n",
       "      <th>age</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1100</td>\n",
       "      <td>Kelly</td>\n",
       "      <td>22</td>\n",
       "      <td>Female</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1101</td>\n",
       "      <td>Clo</td>\n",
       "      <td>21</td>\n",
       "      <td>Female</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1102</td>\n",
       "      <td>Tilly</td>\n",
       "      <td>22</td>\n",
       "      <td>Female</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1103</td>\n",
       "      <td>Tony</td>\n",
       "      <td>24</td>\n",
       "      <td>Male</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1104</td>\n",
       "      <td>David</td>\n",
       "      <td>20</td>\n",
       "      <td>Male</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Student ID  name   age  gender\n",
       "0        1100  Kelly   22  Female\n",
       "1        1101    Clo   21  Female\n",
       "2        1102  Tilly   22  Female\n",
       "3        1103   Tony   24    Male\n",
       "4        1104  David   20    Male"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('./data/student.csv', encoding='utf-8')\n",
    "\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2.6.2 导出数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 保存到csv中\n",
    "data.to_csv('./data/student-1.csv', encoding= 'utf-8', header= True, index = False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.7 Pandas合并操作 pd.concat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     a    b    c    d\n",
      "0  0.0  0.0  0.0  0.0\n",
      "1  0.0  0.0  0.0  0.0 \n",
      "\n",
      "     a    b    c    d\n",
      "0  1.0  1.0  1.0  1.0\n",
      "1  1.0  1.0  1.0  1.0 \n",
      "\n",
      "     a    b    c    d\n",
      "0  2.0  2.0  2.0  2.0\n",
      "1  2.0  2.0  2.0  2.0 \n",
      "\n"
     ]
    }
   ],
   "source": [
    "# 定义资料集\n",
    "df1 = pd.DataFrame(np.ones((2,4))*0, columns=['a','b','c','d'])\n",
    "df2 = pd.DataFrame(np.ones((2,4))*1, columns=['a','b','c','d'])\n",
    "df3 = pd.DataFrame(np.ones((2,4))*2, columns=['a','b','c','d'])\n",
    "print(df1,'\\n')\n",
    "print(df2,'\\n')\n",
    "print(df3,'\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     a    b    c    d\n",
      "0  0.0  0.0  0.0  0.0\n",
      "1  0.0  0.0  0.0  0.0\n",
      "0  1.0  1.0  1.0  1.0\n",
      "1  1.0  1.0  1.0  1.0\n",
      "0  2.0  2.0  2.0  2.0\n",
      "1  2.0  2.0  2.0  2.0\n"
     ]
    }
   ],
   "source": [
    "# concat纵向合并\n",
    "res = pd.concat([df1,df2,df3],axis=0)\n",
    "# 打印结果\n",
    "print(res)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "     a    b    c    d\n",
      "0  0.0  0.0  0.0  0.0\n",
      "1  0.0  0.0  0.0  0.0\n",
      "2  1.0  1.0  1.0  1.0\n",
      "3  1.0  1.0  1.0  1.0\n",
      "4  2.0  2.0  2.0  2.0\n",
      "5  2.0  2.0  2.0  2.0\n"
     ]
    }
   ],
   "source": [
    "# 上述合并过程中，index重复，下面给出重置index方法\n",
    "# 只需要将index_ignore设定为True即可\n",
    "res = pd.concat([df1,df2,df3],\n",
    "                axis=0,\n",
    "                ignore_index=True)\n",
    "# 打印结果\n",
    "print(res)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Matplotlib 简要介绍\n",
    "- 官网案例:  [matplotlib](https://matplotlib.org/stable/gallery/index.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 让图片显示在编辑器内\n",
    "%matplotlib inline \n",
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Name</th>\n",
       "      <th>Type 1</th>\n",
       "      <th>Type 2</th>\n",
       "      <th>Total</th>\n",
       "      <th>HP</th>\n",
       "      <th>Attack</th>\n",
       "      <th>Defense</th>\n",
       "      <th>Sp. Atk</th>\n",
       "      <th>Sp. Def</th>\n",
       "      <th>Speed</th>\n",
       "      <th>Generation</th>\n",
       "      <th>Legendary</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Bulbasaur</td>\n",
       "      <td>Grass</td>\n",
       "      <td>Poison</td>\n",
       "      <td>318</td>\n",
       "      <td>45</td>\n",
       "      <td>49</td>\n",
       "      <td>49</td>\n",
       "      <td>65</td>\n",
       "      <td>65</td>\n",
       "      <td>45</td>\n",
       "      <td>Gen 1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Ivysaur</td>\n",
       "      <td>Grass</td>\n",
       "      <td>Poison</td>\n",
       "      <td>405</td>\n",
       "      <td>60</td>\n",
       "      <td>62</td>\n",
       "      <td>63</td>\n",
       "      <td>80</td>\n",
       "      <td>80</td>\n",
       "      <td>60</td>\n",
       "      <td>Gen 1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Venusaur</td>\n",
       "      <td>Grass</td>\n",
       "      <td>Poison</td>\n",
       "      <td>525</td>\n",
       "      <td>80</td>\n",
       "      <td>82</td>\n",
       "      <td>83</td>\n",
       "      <td>100</td>\n",
       "      <td>100</td>\n",
       "      <td>80</td>\n",
       "      <td>Gen 1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>VenusaurMega Venusaur</td>\n",
       "      <td>Grass</td>\n",
       "      <td>Poison</td>\n",
       "      <td>625</td>\n",
       "      <td>80</td>\n",
       "      <td>100</td>\n",
       "      <td>123</td>\n",
       "      <td>122</td>\n",
       "      <td>120</td>\n",
       "      <td>80</td>\n",
       "      <td>Gen 1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Charmander</td>\n",
       "      <td>Fire</td>\n",
       "      <td>NaN</td>\n",
       "      <td>309</td>\n",
       "      <td>39</td>\n",
       "      <td>52</td>\n",
       "      <td>43</td>\n",
       "      <td>60</td>\n",
       "      <td>50</td>\n",
       "      <td>65</td>\n",
       "      <td>Gen 1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    Name Type 1  Type 2  Total  HP  Attack  Defense  Sp. Atk  \\\n",
       "0              Bulbasaur  Grass  Poison    318  45      49       49       65   \n",
       "1                Ivysaur  Grass  Poison    405  60      62       63       80   \n",
       "2               Venusaur  Grass  Poison    525  80      82       83      100   \n",
       "3  VenusaurMega Venusaur  Grass  Poison    625  80     100      123      122   \n",
       "4             Charmander   Fire     NaN    309  39      52       43       60   \n",
       "\n",
       "   Sp. Def Speed Generation Legendary  \n",
       "0       65    45      Gen 1     False  \n",
       "1       80    60      Gen 1     False  \n",
       "2      100    80      Gen 1     False  \n",
       "3      120    80      Gen 1     False  \n",
       "4       50    65      Gen 1     False  "
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pockmon = pd.read_csv('./data/Pokemon.csv')\n",
    "pockmon.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 800 entries, 0 to 799\n",
      "Data columns (total 12 columns):\n",
      " #   Column      Non-Null Count  Dtype \n",
      "---  ------      --------------  ----- \n",
      " 0   Name        800 non-null    object\n",
      " 1   Type 1      799 non-null    object\n",
      " 2   Type 2      415 non-null    object\n",
      " 3   Total       800 non-null    int64 \n",
      " 4   HP          800 non-null    int64 \n",
      " 5   Attack      800 non-null    int64 \n",
      " 6   Defense     800 non-null    int64 \n",
      " 7   Sp. Atk     800 non-null    int64 \n",
      " 8   Sp. Def     800 non-null    int64 \n",
      " 9   Speed       800 non-null    object\n",
      " 10  Generation  800 non-null    object\n",
      " 11  Legendary   799 non-null    object\n",
      "dtypes: int64(6), object(6)\n",
      "memory usage: 75.1+ KB\n"
     ]
    }
   ],
   "source": [
    "pockmon.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.1 直方图 hist\n",
    "- pandas 的另一个强大功能是绘制图表。例如，借助 DataFrame.hist，您可以快速了解一个列中值的分布："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 316
    },
    "id": "nqndFVXVlbPN",
    "outputId": "879dda92-7102-4198-efa9-42b938bcc4d9",
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f866680640>"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用hist针对DataFrame的某个特征画直方图\n",
    "pockmon['HP'].plot(kind = 'hist',bins=20)  # bins分箱数量，默认10，"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2 散点图，查看数据分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f8636252e0>"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEGCAYAAACKB4k+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO2de7gdVXnwf2/OPScJJHLIEyGYqCiJpCUknhbwlhKCKG1SayWp9gsmFqweRK21CXwFNaYV0VoIYlQCicWEoHK17ZeEFC3hD8OBiMBJU6LcUmjOsRbkkpAL6/tjzZw9e/Zas/ees2dfzn5/zzPP7L1m1syadfZZ76z3tsQYg6IoiqIAjKl1AxRFUZT6QYWCoiiKMowKBUVRFGUYFQqKoijKMCoUFEVRlGFaa92AkXDccceZadOm1boZiqIoDcWDDz74a2NMj+tYQwuFadOm0d/fX+tmKIqiNBQi8pTvWKbqIxH5jIg8JiKPisgmEekUkUkisk1EHg/2EyPnrxSRvSKyR0TOzbJtiqIoSiGZCQUROQH4FDDXGHMq0AIsBlYA240xJwPbg++IyMzg+NuA9wLXi0hLVu1TFEVRCsna0NwKdIlIKzAWeBZYCGwIjm8AFgWfFwK3GGNeNcY8AewFejNun6IoihIhM6FgjPkv4GvA08BzwAvGmK3AZGPMc8E5zwHHB1VOAJ6JXGJfUJaHiFwkIv0i0j80NJRV8xVFUZqSLNVHE7Fv/9OB1wPdIvKRpCqOsoLETMaY7xhj5hpj5vb0OI3niqIoSkqyVB/NB54wxgwZYw4DtwFnAvtFZApAsB8Mzt8HTI3UPxGrblIajKEheOABu69Xdu+GDRvsXlGUHFkKhaeB3xeRsSIiwNnAbuAuYGlwzlLgzuDzXcBiEekQkenAycDODNunZMCmTfCGN8A559j9pk21blEhl1wCM2fChRfa/SWX1LpFilI/SJaps0Xki8AFwBFgF/AxYBxwK3ASVnD8qTHmN8H5lwPLgvM/bYz516Trz50712icQv0wNGQFwYEDubKuLnjqKagXTd/u3VYQxBkYgBkzqt8eRakFIvKgMWau61imwWvGmCuBK2PFr2JnDa7zVwOrs2yTkh1PPgnt7flCoa3NlmcpFIaG7D2mTSt+n52euefOnSoUyqWcflcaB819pFSMadPg0KH8ssOHbXlWlKuu6vU4OfvKFTeNoCZU0qFCQakYPT2wbp1VGU2YYPfr1mX3Fjk0BMuX25nJCy/Y/fLlyQbuGTOgry+/rK9PZwnlkKbflcahoXMfKfXHkiUwf3511App1VVr1sAnPmFVRr29KhDKpVZqQqU6qFBQKk5PT3UGh5Goq2bMUGGQllqoCZXqoeojpWGptrpKsWi/j24ydUnNGnVJVUC9YGqF9nvjUjOXVEWpBtVSVyn5aL+PTlR9pCiKogyjQkFRFEUZRoWCoiiKMowKBUVRFGUYFQqKoijKMCoUFCVjGmF9CUUJUaGgKBmiieOURkOFgqJkhCaOUxoRFQqKkhFh4rgoYeI4RalXVCgoSkZo4jilEVGhoCgZoYnjlEYkM6EgIm8VkZ9Htt+KyKdFZJKIbBORx4P9xEidlSKyV0T2iMi5WbVNGV2k8e7ZvRs2bLD7StzLV75kCTz4IFx7rd0vWTLye2VB2v5QRiHGmMw3oAX4b+ANwFeBFUH5CuCq4PNM4GGgA5gO/BJoSbrunDlzjNLcbNxoTFeXMcccY/cbNxav09dnDOS2vr6R3SupDWnaN5J6aUjbH0rjAvQb33jtO1DJDVgA3B983gNMCT5PAfYEn1cCKyN1tgBnJF1XhUJzMzhoB8zogNbVZct9DAzknx9uAwPp7jUw4G9Dmvalfa60pO0PpbFJEgrVsiksBkIP7cnGmOcAgv3xQfkJwDOROvuCsjxE5CIR6ReR/iH17Wtq0nj37NxZXnmxe+3c6W9DWu+janotpe0PZfSSuVAQkXbgj4AfFDvVUVawApAx5jvGmLnGmLk9arFratJ49/T2llde7F69vf42pPU+qqbXUtr+UEYv1ZgpnAc8ZIzZH3zfLyJTAIL9YFC+D5gaqXci8GwV2qckUM8pGkLvno6O3Bb17nEZT2fMgL6+/Ov09RVfr9nnSTRjht/DKKzT3p7bSvE+it6ruztbr6W0/aGMYnx6pUptwC3ARyPfrybf0PzV4PPbyDc0/wo1NNeUaho703LOOfm68AULbHmS8dRXpxQGB43ZubNQv+8rT3uvjRuN6ew0prvb7rPu+4EBY9avV1tCs0CtDM3AWOB/gGMiZa8DtgOPB/tJkWOXY72O9gDnFbu+CoXsqKaxMy07driNpDff7Dee+urs2FG99hW7VyP0vdLYJAmFTNVHxphXjDGvM8a8ECn7H2PM2caYk4P9byLHVhtj3mSMeasx5l+zbJuSTCOkaNi61V1+663u8p07/XV85XHKUaelvddI+r6e1X1KY6ARzYqTRkjRsGCBu/xDH3KX9/b66/jKo5Sb8TTtvdL2vWZkVSqBCgXFSSOkaHjLW0BiPmsidtD1GU/f8hb/tZJIk/H0rLMKBcCCBbY8iTR9rxlZlUrRWusGKPXLkiUwf75VW0ybVl8CAWy7Jkywg2DI+PG2fM0a+MQnrMqotzfnTfPkk3DMMfl1Jkyw5UnPF6p0DhzIlYUqnaR6W7bA/fdblVEpAiGk3L5P2z5FiaNCQUkkdK2sR6ZNg1deyS87cCCnZpkxo9C1shaxA2edVbowiFJO3zeCuk9pDFR9pDQ0LvVREmnVYvWuTqv39imNg1jvpMZk7ty5pr+/v9bNUGrEAw9Yo2pcFXTPPfD2tyfXHRpKpxZLW69a1Hv7lPpARB40xsx1HVP1kdKwjERlklYtVs/qNKj/9in1j6qPlIalmioT9f9XmgUVCkpDs2QJPPWUVRk99VR5i9iUStT//6ST4MtfVuGgjF5UKCg1pRJv4D091oaQ1Qwh6v9/8CD87d/C1Knw7W9X/n6KUmtUKChVJSoE4hG43/52/aloXCknAF59FT7+8dIEg6qelEqT5W9KhYJSNeJCYOnS/Ajcj38czj67tBQN1RpoXcbsKJdemtwGV+oJFRLKSMg6nYm6pCpVYWjI/oCjEbdJdHVZG4FLJbRpk1XptLfbAXvdumxsCdH7LVtmVUdxxo2Df/s3twus65nb22HMGLv2QzXarowuXL+ppP8VH0kuqTpTUFJTzhuvTw3jw5cVtJwcP5V6I1+yBJ5+GlasKDx29KjfBdb1zIcOWeGi+YmUNFQje7EKBSUV5U5hXWqY9nbo7LRv23Hi8QbhAL9rV2n/FJWeYvf0wN//Paxda9/yx40r7gJbTPXka7ui+KhKOhPfQguNsOkiO7Uh7SIw4UpuEybkVnILVyxbu7bwWLzeMcfYVcja25PvPdJFanyrqJV6POmZ29p08RxlZIS/qe7u9CsikrDIjkY0K2WTNiOnL/Nn6FL6gQ8UHouqi8L7tbXZt/S2NvuWFH9bH0nG0FLsFeVEDcef+Z577PV9bVeUUghNwVmYhNXQrJRNpYxdpeDLb/SDH8DEie4cP2nbV63n0vxESloa3tAsIseKyA9F5D9EZLeInCEik0Rkm4g8HuwnRs5fKSJ7RWSPiJybZdsqTb27GaZtn6tesfQSSfeKHoufd//9cOWVdh/i06HOnp0LWLviCnjrW+0+2r6OjtwWfyP/1rfgXe+y+xCXEa+lJV/n73u2pGe+/3743Ofghhvs8VKD7dL8zSr5d87qXkp6qrJMrk+vVIkN2AB8LPjcDhwLfBVYEZStAK4KPs8EHgY6gOnAL4GWpOvXi00hqvNOq+PLkrTtK1bPpVtPqhM91tZmbQPheaeemq9rX7CgsJ7L3hDX0be32/JzzvFfb+LE/GOTJuWeJ26LAGvvSHq2pGeOt0OktP5P8zfL6u9cyXspI2Ok9rIQEmwKWQqECcATBCqqSPkeYErweQqwJ/i8ElgZOW8LcEbSPepBKFTqj5QVadtXSr24UEiq4xtwk7YdO/z3MsaYv/1bd72lS/3Xu/5697Hrr7fXXL688FhXlzEDA+5n85UPDtr7ue7V0ZHc/2n+Zln+nSt1r5FQjnF/tJP0klQqSUIhS/XRG4Eh4CYR2SUiN4hINzDZGPMcQLA/Pjj/BOCZSP19QVkeInKRiPSLSP9QHcxbqzKdGwFp21esnsvlM6lOuXEKYJewDHGpXDZvdte7+27/9XyuqWGk8c03Fx5rbbXLesYxxpb7njna/jhJ/Z/mb5bV37mS90pL1hG8jUbWSSCzFAqtwOnAt4wxs4GXseoiH641swqs4MaY7xhj5hpj5vbUgZWu3pdBzGL5SV8A2bhx/jql+OzHiS96H+eCC9zlf/iH/uudf7772Pnn+wXXoUPw5jcXRmMfPGjLfc+c1P6k/k/zN6vmMqPV/M2XE6zYTGSZBDJLobAP2GeM+Vnw/YdYIbFfRKYABPvByPlTI/VPBJ7NsH0Vod6XQcxi+Unfm+JLL9lz2tvt9/Z2+MY3cm+Q4fW6u3PHw2vPmpV/vfgi97t3w4YNdh/ypS8VtqO9Hdavh3e/2329efPczztvnh3UjhwpPHbNNfa6XV355V1dtnzdOhuE191t92E/nXVWoWAQgZtuKt7/l11mDeTxa/qoxN+5u7u0etX8zddiJt70BnSfXqkSG3Af8Nbg8xeAq4Mtamj+avD5beQbmn9Fgxiajal/nWfa9rnqJemU4wZjyBkj+/ps8Fl3t92vXZu7dpJhuK8v/1hfX+5Y/H6zZuV0rmPHGtPSYsyVV+a3fcyY/DpjxuSeL36v5cuLP3OxYKIdO4z5q78y5rvfLT3AL7xXe3t5euM0f+eNG/P/Llneq1yqbb9oFgM6tTA02/tyGtAP/AK4A5gIvA7YDjwe7CdFzr8c63W0Bziv2PXrSSg0Gy5j1913uw2rvq2YQXbHDmvIdR0bGPDfLyniOel6xQYgX0R2pQatJGN8VgNhvTtKGFMZw2opNEJfVIokoZBpRLMx5ueAK0DibM/5q4HVWbZJqQyu6OSPfay8a4RqgNtvdx+//fZCtVLIzp1w333uY6+95r5PT4/bYBxeb+bM5Eho1zM/8ED66Ok4rkjskV4zzT2zuldafJHwlaYR+qIaaEI8JZFy9KuLFpV37dA4ecop7uOnnAK9ve5jvb3++42J/aqjRtCk65ViQI0b+CppdE0yxmdlyK13R4mQLA2rIY3SF5njm0I0wqbqo2wpNRAtemzWrELVRzjt7+tzqwEGB21QV7SOiF/PH7UpxO8XtSn41A1J10ujqqikeiNuU+jszF63XS31TCPQLH1BgvpIcx8pTpJyrID/2D332BXVjLGeNmvWwOmn56b9vrw/mzbBRz+aq3fTTfn+17t3WxVPby/MmJHf1h//GO64w84cQpfTpPxC4aI5ITfemH+vNLmJKpnPKLzWuHHWo6saOZI0H1OOZuiLpNxHKhQUJ75EdPfcYz/7ktQtWpScrCvpHy5p4K8U1Uzmpyj1iq68ppRNkn7Vd+z55wv1+cWioEM2bYI5c+yax3PmZBe1Wu8R6IpSa1QoKE6SApR6emxUaZR3vAMuvBBefjm/vFgUdJgttVpRq2pMVJRkVCgoXnw5VoaGrICIsm1boStlNBK33LxIlXh7T5P2uxY0fQStUleoUIih/6D5uFwBS0lu190Nd96ZEyTF1FEHD7qPlYLrbxaqqubNK1RVFUsoVs3fgCZ7U+oNFQoR9B+0NKZNcwdYRTlyxAqGrVtz2UJdb+i//jUsXgyvvppfP/727huoXYP/0JBVZR04YNVZBw7Y7/EZg8vvPe1vIO0iNUlqM31BUWqCz1e1EbZKxik0U4h7WsJcNwMDhYvbxDfX4jdhWogwX048XiC6nXlm7r6+mIjBwcKUFu3txmze7L7mli3Fny/NbyBtvpxVq9wxHTt3Nk8OHqU2UKvcR1lvlRQKO3faf0DXP6iSP0h1dJS/YE6pOYjiuY98A/XAgDHXXuuut3p1caEwMGDM+vV2H5LmN1CuIIkK1s5Odx8lLdzTrNR7wslGI0koZJr7qJFQrxQ3P/6xVaH88Ie2f4qpjZIYM6Z4DqIoYe4jEwulOXrUrtHc0uKu9+Y323tFcyCNGWPrAFxyCVx3Xe5YX58NsivlNxCPpfDly9m1CyZOzI/H2LTJqofa260NJe6+CzZl9ksvJefgSRtc1ahBWWG/hX/Tdesqv7CMEsEnLRphq3Sai9Ec4p7mTcuVBnskW7kzhbY2m8653Pvs2OFWKw0OJmdJNaZQpXXOOcb80R8Zc/PN7vQYrplCe7udBRxzjN2vWuV++49vnZ25pUvj6re2tvw03dVYb7se8KkI662djQaqPiqdev3nGAlpBpJy02CXskVzDBmTbFNIu7W1WbWQTw3kUzlde226daQHBgqfI75eA7hVbl1dttyVC8o1EKZVK5WaErwe7Rdbtrj7vZh9SEkmSSio91GMamRjrCZpA8PuuMNdHq6YloZ16/Lvu2aNXWe5oyPd9VwcPpy8RObkye56kyenW0f6nnsKYzbiqbvBele5VG+7dhW6xj75ZOEqb52dyetBJ5EUB9Loy12qh1blUaEwykkbGOZLS/2Vr8CPfuQ+1t7u1/OH97333vxlNefNs+9+5dLSYl1eXW1oby+MuF6+3Ar6efMK29jSkluOs9x1pCdPLl2QdHVZARh1yT3uuMLzpk2DV17JLztwwNoxKr0Oc72n/Zg927YnSlubLc/KhbzpBY1vCtEIm6bOLo5PdbBlS3G1Q1yf391tyy+7zD2lv/TS/KUw48dbW/O/L1tmVTof+5hfFeSzKbS32+UtXceSbArG5JafDLeouqQclVaSTaGjo/D80LMoVE+W62obrVOu3ctXrxFcsV3LhWbV7npWpUUZqZqbGi7H+STwCPDzsBHAJGAbdjnObcDEyPkrgb3Y5TjPLXZ9FQqlER0Q2tvtYFvsR5+0ROaFF7qPXXihrRv+YJctKz6wdncXDoDhtnmzP+YAjLn44sKBobPTbzeI6qFLXXs6uk2d6nZl9S3TuWqVfwBPGtSKucZWcr1tX/vrjXjbs3AhbwQBaUxlBFethcJxsbKvAiuCzyuAq4LPM4GHgQ5gOnat5pak66tQyBH+0+zYUThoGZPz64/7xvt+9Fdc4R4YL7jAmHe8w33su9/NtWXLFrcffjlbOAD7jre1uZ/HN4PYvDm/P0qJU+jqMuad77TeR9F+jvdZeL0dO/KPh30Rn5klDWq1GJxc/VHPZNFHjRCrVKnnrjehsAeYEnyeAuwJPq8EVkbO2wKckXT9ZhUK8X/g8M0h/sYdevuEx12qmAkT7IAVDkbhoFeu99GYMfnqDZf6pJxNJBfklXReS0vhM/s8VkIPI9/Ka8XcH31vaPHV0sLPGzcW1vnc54xZvtwKmVI8grq782cfWXjGVUNlkkXbKz3DaYSZQqUEVy2FwhPAQ8CDwEVB2fOxc/432F8HfCRSvg74YNL1m1EoxAe0ZcuSVR47diQfj/rUh6qlUHdb6gAeTWGRJtI5qe2uZ07a2tqsIHGppMaP9z/XwEDysqBJkdW+Z+7qSu7HSZPyv8eXBY3q0cOlTCs9cFdjIMxS6FRa2NS7Km00zBReH+yPD1RD70oQCt90CIU/cVzzIqAf6D/ppJPK64kGx/fWnBTgdcUVhW8WYZ2uruI5jErd+vrcbzEj2davt8+9caMd5OOzAt+2ZYvV/5dzr2uv9dsvNm+2z+b6Z3TFRET7uJwZU/jPXYpwrdTAnbXKpBHevuPUe6xSJQRXklDI1CXVGPNssB8Ebgd6gf0iMgUg2A8Gp+8Dpkaqnwg867jmd4wxc40xc3saPJigXNc3X2qIJDfKBQsKj3d2wm232ViEsWNLu3cxrrvO3sfXFldKh2K0ttq+WbrUXvfo0dLqbd8OzzxT3r26umDvXvexhx+GJ54ojDM4cABe9zp/6o+jRwuzvyaRtL6E79xycP3esk7vUu8ury7qPVapWOr3kZKZUBCRbhEZH34GFgCPAncBS4PTlgJ3Bp/vAhaLSIeITAdOBkrIkNOYpPGx7u11l//d39lBLf7P19cHZ51VmLL6H//R5uWZOnVkuYzirFxpV2CL0tJi2yVS/vV27bJxDYcPl1fv4YfLv9dJJ9mgNxdf+xosW+Y+9sEP2jThcTo74fLLC33sk4iuLxFfwc53bqn4fm9ZLzqkOcWyIVPB5ZtCjHQD3ohVGT0MPAZcHpS/DtiOdUndDkyK1Lkc63W0Bziv2D0a1aYwkil1kpE0yfsoPL52bb5+txwVS1zfXurmczkFq17xqbD+5E/SGayvv95dPnas1c/H4yVCY7LPDbfcrbvbqrCKGcnjsRwLFuT+VvE2Rq9drsqglN9bliqTetfTNyNo7qP6YqR63LTug6Uagjs67OYSAqHxs5xBMslu8aUv+eMeXDmEim1dXbYfZ83KL58xozBoLBxg165NzotU7hYKGZcdoq3NJtjzCa4wuG38ePffpZSgw0r/3ipBvevpm40koaCps2vASKfUM2bYrVxcaZ5dXH21VSP8xV8UHjt61KqEOjpK15cnqX++9CV4//vdx1w5hIphjO3HX/zCpv2+4w6bsuP883PnLFkC8+fb/njoIfjMZ2y/lPI8nZ32HknnGmP3rr9nayvccAPccou77j332JXoXCqpa66xNqIkXOmx60GF09NTvzp6JR/NfVQDarV4fCm5fdrb7aD06KPu44cPW313OQbUM8/0HztyBP71X0u/VjFee80OrAC/93tw8cV2H6enx/bHZz6TSwZ38KAdtKMsWJD/d7rxRrjpplxZR0dh8rqurtzaB76/c1Jivmi9cePsPdautc+SxKZN1jby7nfbfbXsBsoowzeFaIStUdVHIZVOV1AKcf1u6P8eD5I6//zKqFJCdUpa9ZJvu/pqq0rZvNkd1Ry3nbj02D61yubN+eo5X0qMMLgujb7eZTdobU2v56/09ZTRDWpTGD1UYrGU+DnR777o6Ky3UmMQwi3MY+Qa2MePLzRQuwz5lfKhH0mSus7OXJDbSAywSTEWihInSSio+qhOcfmUF8t9X6qba6g6CfPph+5tkLt+uSmkR0qpMQhxXCqxQ4dK842vlFolrd/4kiXw9NPw05/afbxeOXEs+/eXV64oXnzSohG2kcwU6nkq7ZsNVCqJmisVse/69bjFl2OMv6mvXetfztJFuWqaavxuyk0NUWyZUUWJgqqP8qnnnOlJg3sl0i0PDPgHzFJcVstV81RyCxPtrV3r7rdoUr8s1vWt1u8mrVrLF8NS6j3r9SVJqTwqFCLUey6WYoN7msVSon75PltBqKMPz/UlcvMFVaUVGG1t7gA1kdxspqvLZhbt6LD2gmIDcqPn2h9J+9PEsNTzS5KSDamEAnB60uarV80tjVCoh0CeJEYSfepb7KUUo3F8ARpfIJdrRbVwu/TS8gTC2LHGrF7tz2gapvQud8H6Rs+1X00BVO8vSUo2JAmFpOC1ryeZIoA/GLlFo/rUQyBPEqHxc/lyaxw9fLjQ+OkLBFqyBE47zSbO6+21AW5bt5YWmzB7dv71Fy+GT386P4BMxA4bPo491l0+fryNRzhyJD+Q7ZVX7JrPrmsePGjb1NMDX/5yYcBdaDh29UNPj83BtG1bruyd7xyZX36x340raCwtpfwGKoUroDGpb5UmwCctGmEbqU2hnnOxpNHxutQAvgVn2tvdeXSitoe4OqilxerzffmIXPEGra251Axh+8aNKz6LCG0Ag4NuVVbS22xWRlff7yYr9Us19Pw6U2hOGKlNATgV+BDwf8KtlHpZb6PV+ygNSYvAuAzL0QXkXcnyfAN/GDDmOuaq092dr2IZGLBrPBQTDKFqxucRtWqVvy98S3iG6zOE/eX7+5dzrN4G1ZG8TNTzS5JSWUYkFIArgXuB/cBNwH8DPyxWrxpbMwav+UjSeW/caAfszk67j/7Th+6ppWYjDd/643YAn8E4OkCGg48r2Zuvnu9eSYNesZlC0pu9z103JD7o1pONaiQzltH2kqQkM1Kh8Ag2R9LDwffJwN3F6lVjU6GQo1Tvo7jHUrkeQ+ESma5o3I0bCzOrRlN7J7m7Lljgb2M8W2q4HnQSCxYUXr9YPw0OJsc3uAbdepkp1Es7lMYgSSiUEtF8wBjzGnBERCZgV0p7Y2UsGkql8EXnQi5K+eWX86Og7723/Ejif/qn/O/RFdV++1s7HEX55jdzRtik1cR+8pOcUTt6jV27CrOlvvaaLfcxNAT33Zdfdt99uXbEM5AePmzLd+0qzOh6+LAt90WTQ30km2vEFc6U+qSU1Nn9InIs8F3gQeAlRvGKaI1MNCV06AXzwAN+7xJfCoTOTrs/eLDw2I032jTUH/1ofqbUZcvc6Z6NgTvvhIULk72gwmPhNZcvt8+ShiSPmkOHCgf+I0eKe2glXdPV79Wm3r3qlMah6EzBGPMJY8zzxpi1wDnAUmPMR7NvmlIJkgaL009311m92g7krgHl8GH4wz8sTJ3d0uJvw3/8hx0owzfrUggH3NmzC9+A4y60cZKe2bcO8969yfcayaBb7lrcadD02ErF8OmVwg3YXkpZLbZmtSnEUzpEM5y6sm7G0x/82Z9ZT5zNmwttCiJWj15ultTWVn8K7Lvv9gfRhRHK8bpxA3V7e65dpRhQfQbjUo3QLnfdNC6p1Y4WVoOxUgqkjGjuBCZh11ieGHyeBEwDdvvqOa7TAuwCfhx8nwRsw67RvA2YGDl3JbAXu0bzucWu3YxCITrIhAPlMcfYgS9ukG1ttYNdUmqKSm2trf41nL/7XX+8xLXX2gHsxBPzy6dOzT3zOefkHwuNxqX0k2twL5YjqFIuqWr8VeqVtELhUuAJ4NVgH24PA32+eo7rfBbYGBEKXwVWBJ9XAFcFn2cG1+4ApgO/BFqSrt3oQqFcX/lSEtbFt3JTT2SxLVrkFwpbttiZhG+GsWOH+1joBeXr12KDcdp1ruMkuaTWk7uqokRJEgpem4Ix5hpjzHTgc8aY6ZHtd40x15WimhKRE4H3AzdEihcCG4LPG4BFkfJbjDGvGmOeCGYMvQACH0MAABzHSURBVKXcpxFJWvvAd6yYB48Lnw69mhw5YvXybW355W1ttvyOO9z17rjDpulw4SuH0jxxZsyApUvTrXUdJcnWoMZfpREpxSX12yLyKRH5YbD1iUhb8WoA/CPweSDqVDjZGPMcQLA/Pig/AXgmct6+oGzUkbRYTtKxadMKcwAVo7dKYnVMwi/p4outwXPDBuvZ1N1t9xs22PJFi9z1Fi3yL1SftID9SAfjcgzDUQNvd3e+gVeNv0ojUopQuB6YE+zDz98qVklEzgcGjTEPltgWcZQZx3UvEpF+EekfytKdI0OS3mSLveW63D7Hj/fPIF7/+pG1VSQ3iPf15RaTj9PaaheYd/GmN9l9uNLYvffmrzR2/vkwa1Z+nVmzbPlZZxUKgAULbLmPkQzGpa5eF8eY/H1I2lXZFKVm+PRKQGuwf9hxrKDMcc7fY9/2n8SmxngFuBlrRJ4SnDMF2BN8XgmsjNTfApyRdI9GtSmkNU4mGWt9unefTeH88/26/JtvtvmJduxwG1bXry9MVTFhgjEXXui+3urV+c/us6PcfbddN+HuuwuP7diRa1M5/VyOJ04aw3AzG5PV06lxIWVEcxigdlRE3hQWisgbgaJxsMaYlcaYE40x04DFwL8ZYz4C3AUsDU5bCtwZfL4LWCwiHSIyHTiZURokl/Qmm+Yt961vtTOFrq788s5Of1DWli3w4otw6qn55bNmwYc/DF/8on0bD9dvDu/f0wPve19hnMLBg8VnJZs2wUknwbx5dh9/Cz//fLjhBruPM2kSvPGNdh/Hp+6Jt70YaaKCmzWSOO2MSmkAfNIC2BXs/wB4GvhJsD0JzPPV81zrPeS8j14HbMe6pG4HJkXOuxzrdbQHOK/YdRt1phCSxvvIt8yk743VN4MAfxK8Yh45vnxEvplHOOMoZ93kKEkupJWMA2iUmUKt39CbeXY0WiClS+o+rDvpZ4PB+grgr4LPn/XVq+bW6EIhDaUGV3V22vTSg4OFg2q4+ZbcjKaYdpGkxnIN/Dt3JrukJpEUbJbF4JQmjXQ1U0/Xw9KZ6mrb+CQJhST1UQswDhiPzZEkwffWoEypAaHh8t57Cw2X4bG//mtrIP7a1+zU/swz4e67rTE4ipX9hbz5zTl1TDmeOJMnF96jtXVkLpg7PQrEnTuzUd2kMQxXy5ic5JlWTdTVdpTjkxbAQ75j9bI1y0yhHHWB6+25vT2X/iKcIYRvmfFZxLvfbdVK48fnR0wXS7k9Zox9e/e9NbvqtLQUf6ZqzxTqmXp6Q9eFeRobUs4UXC6iSpUJDXrz5vkNetG3edfb86FD1hAcxjgYAw8+aN9ozzzTvl23ttrZxU9/ao3IL76YyyjqeiuNJ8B77bVcgj3fW3O8zpgxubTUPmbMsK6wUfr6bHla19NqJKjLgnp6Q1dX21GMT1oQMQDX6zbaZwpJhuWQuI45XFLTZ1wOZwrhzCNuMC5Wb/16awdwLZGZ9KbuW1bTZRtxkZSWopyZVD3o5EeCvqErlYCEmYLY443J3LlzTX9/f62bkRlbt8K55xaWb9liA7iGhuzsIRrl3NUF3/gGfOYz9u3/xRfd1x4YgEcegQsuKK9N3d12VnDkSOG6BGDf2O+5x7qCRnG1NUpXl33jTBPtG86Qiq1l4Ouvp56yn2u5HkI5lPq8iuJDRB40xsx1HSslolmpM55/3qo/du0qVBWJwLPPwrZtsGZNbsGcKK2t8NJL8M//XP69w9XbRNzX9qkz4ukgXKQxEJfjL+9SrR04AJ/8ZOV97rNUUZUbf6EoZeGbQjTCNlrVR6E6ZGCg0MVzzJh89YdvDYPQaOw7tmOH3yV17NickdlXf8IEq0ZatcpeJ6rOKBZ/sXmz+5pJ8RGlZo2Nqq9KSXNdjgqsVBpdRaWMfhjhGs1KFYm++c6ZY5PJhUnkOjrsW37UJTGJn/40+VjcfTTkpptg375cArt4pDTYe8+ebdt3553wgx/k1DBJb909PTB9ujv6+qWX3O0pJ2ts6JLqqtPTA5dd5u+T+DXSUC9uo4qSFhUKdYRrQFm3Dh56yMYl3HVX4WDa3g5jx5Z/r5df9qfAOHAgp5oQsVscEbjtNjvgfuhDNqPpbbeVNiC61Esi7vJiWWNd3jjjxvnrhEI2iZF49DRr2gtl9KBCoY5wDSih/v/tb7dv5vHZwaFD/iC0JH73d+1azC56e/MH41deKTynvR0uvTR/4L300sK2GFM4IJbjSpo0yPqu45txhHVuvDG/Tpj9tRLprevJbVRR0qBCoYbEjZGuAeXFF+1MYWjIGpbjqbOPHrXeRl1dhYvYxNNRRzl82C4yEyecFRRb0OfwYfdgffBgftnBg+5U26Gf+w9+YBfTmT/ffZ9ig+ySJTbm4tprc7EX48YVCs8DB3LtiNdZs6ZyPve6hoLS8PiMDY2wNbKh2WeMXLvWb/wcO9Z9bMsWaxhdtcoaiDs6rJE4HkEc3d7/fn8+ovZ22454jER0W7as0Gjru98//EN5feA7z+Wb77rGzp2FbQtjM8q570ioddI6RUmCNAnxGmFrVKGQ5DXj88xJ2jZvdge6JW3nnZd8r64uY1pb/cdDwREdrM86y33uhz9ceh+EAi6OK3jNd42BgXTrVShKs5AkFFR9VAOS9OT796e75q5dfsOxi9mz4dhj/cfHjPGvpAb2XtOn56tdVqxwn7t4cWGZL2bgAx9wr1k9Z461WcyZk+995OKll/xLZLrqGIfdQ1GaFY9TopIlSXpyl/69GEmDu48zzoCpU/3HX3utuMvrY4/Bc89Zw3RPD/ze77nPc5W7+gCsVxRYI3doZwgN3mF7wmPFbAfG5O/BXcdn91CUZkRnCjUgyRjpSgC3YEFyJHB3t41yLodf/MK+4bvo6IDPf774NT77WbjwQpg5Ey65xL5tH3NM/jkTJrjfwotFOJeyZvVLL7njHZ55xgqOgwetkDl4MOeS6qrT1eX3WFKUZkNnCmVQyZwzS5bAaafZdQF6e60wCFmzxqpctm7NLVI/NAT/8i92cDsaWQxVxGZQjb4Nl8IXv+gPXvve9+wsoByuu862uRx3zCVL7Bv/rl2wcGG+51K0XjnXDL2n2tvzZwShIPHVU5dRRQnwGRsaYaumoXnjRuvB0t1t93GPlXK9TZI8YHyrq/nWFqjkNmaMfYakZTx922WXJS+dWUp/+DyMOjpsv3d0uPtq3Dh7bO3a4sbkpNXrFKUZoBbeR0AnsBN4GHgM+GJQPgnYhl2jeRswMVJnJbAXu0bzucXuUS2hUGx94XJdHJMGraR02T4X0kpu4cI3g4PGiJRXt7W1sJ/K8ezxCdZigmbt2tzCQGH/FxMySQJeUUY7tRIKAowLPrcBPwN+H/gqsCIoXwFcFXyeGQiQDmA68EugJeke1RIKSesLp3FxTFpBK+leH/lI9kIhvJerjePHJ8c+uLZyVgZzCYWkldfCOkkCttwkeorSDCQJhcwMzcG9Q/NdW7AZYCGwISjfACwKPi8EbjHGvGqMeQI7Y+jNqn2VIk2uG5fnzaFD8L//6zcYP/883HLLCBpaJtOmFaa3OHgQvvnNZFfVOAcOlKav9yW98xnDr7rK7p98stA2Ek2DEU8x7fu7qEuqolgy9T4SkRYR+TkwCGwzxvwMmGyMeQ4g2B8fnH4C8Eyk+r6grObMnl048Le32/I0uW7i3kdtbdYF9IMfhA9/2F3nv/7LbxhOIr4EZimErqp2ApfDGBtH8MwzsGpVchqMaJ1iJCW9c2VoBdi40R5/6KHChYTC/netaVDMjVVRmp1MhYIx5qgx5jTgRKBXRE5NON21JnTBkCIiF4lIv4j0D1UpH3FPD6xfnx8MtX69LU+b6yaa+6e11QqWF18szG0U8vjj7pXOwAonX4zAKaeU+pSWMIW1K8/SkSO2vKcH/u//tem1V63KPbtrBhHWSSJptnXSSe46bW32up/6VOGxb3zDzjBcMw+fG6u6pCqKpSpxCsaY54GfAO8F9ovIFIBgPxictg+IhlOdCDzruNZ3jDFzjTFze6qYZSwcxO+9tzBpWtpFzHt6YOLE0mYAU6bAu97lPrZrF/zsZ+5j5bqW+lJYuwiFQ/js3/teefcKSZptzZ7t7h9jrErNFQA3cWJyuu045Tyzoox2MhMKItIjIscGn7uA+cB/AHcBS4PTlgJ3Bp/vAhaLSIeITAdOxnov1Q1JyyCmXSLRF9kb54UX4M/+rLxrp2H5cvsMs2cXZl1ta7PlccJnnzev9Drx+r7ZVk+PFTZRNVh7uz3ui+Tev7/8dNuaxVRRAnwW6JFuwO8Au4BfAI8CVwTlrwO2Y11StwOTInUux3od7QHOK3aPRk2IF8eXGTW6he6TWXseRV1tzzkn/9iCBcWfZSTunj6X1NC9dOzYXCxCeL7LVTgpIV6xeylKM4BmSa1/Ql/77u7sB/5SXFKLuYImUckBt5RANJcQSopTUJRmJ0koaJqLCpEmBcbu3bk0Fx/4gM06unUrfP3rlWtXa6vfeO3j+edtojsXO3fmp+RwEap9KkFohHalrOjpyaXKiPe9r1xRlGRUKFSATZusLr693doH1q3LNza7BMYll9h8QSGtrdaz6dVXK9u2L34RvvAFv+eSi2OP9a/a1lvlyJGRLG9ZSeGkKM2CZkkdIUk+9uAOytq9O18ggH2bf+GFwuUswQqMCROs62TcE6elxRpLfX727343LFrkPuYijL+YMQOWLcs/1tdXfJZQaYoZhn1Bb4qipMSnV2qErR5sCkkpK3z68NWrS9fvd3ZaPX54PVcyt1CH/5735NedNctvnB43ztbv63Mnh4vep63NmKuvrm0/a8oKRakcqE0hO5LUGz59+OAgJdPWZgOr3v52+33+fLvQPdg3+qh6JB6r8Mgj7muOH2/Tc7/vfbb+FVfkq7eis5+QK66ApUtrp45xqYKK2RsURSkfVR+NkCT1hk9gHH+881LOiOAXX7SpHCCnKlm4EM47D/7mb3LnuaKCfRw5khMI4TNEYyzS5HOqBSOxNyiK4kaFQgXwRTT7BMYf/7H7Ot/7Hlx9dWH5JZdYO0T49n7woM2VdNNNNnoXSg+Cg1yAmo9SB1tXbqFqooFoipIBPr1SI2z1YFMoBZc+3BcY5kudfe21fvvA5z+fb28IffNDe0H8/FL07sX8/MtdQyJLNBBNUcqDWqTObnaib9Fx9czQEOzYkX/+fffZ8qefdl/v+ef97qpf/7pVK0H+jGXNGmt/iK+BXIoqKCmfUzGPq2qTNsWIoiiFqFDIgGJukkk5/eNpnUNWrfInzjt6NDcw//rX+cdmz7aqpijl+Pm7BttGsTkoilI+KhQqTClv0Uk5/efPd1/38OHSAtBmz84XRlno3dXAqyijFxUKFaaUt+iknP4zZtggsXj9UjhwwKqY4sIobWpvH2rgVZTRi8YpVJhS3qKL5fRfswY+8QmbZ+jNb7Zv/sVmCR0dMGaM32e/0ikfNLeQooxOmnamkJU7ZSlv0dFzwpXc4uccdxzMnAlveUvh9fr6ct87O629wbVSWnR95CyeVw28ijL6aEqhkHW+nGLqmqEh+OUvrYMo5PYh3/62XSf57LP9XkXh96eftqufHXecnW1ECb9rfiBFUUpFTHxEaiDmzp1r+vv7y6ozNGQHxqiapavLDrLVeOPdtMkmmosnvgvbcNtt8PGPu48lte+BB+yg/8ILubIJE+wa0IsWpX/eNCnBFUWpb0TkQWPMXNexppspjMSdcqQqmNAzyZUJNVyI/tJLC4+1thZvn8+WAemfV2cYitJ8NJ1QSOtOGQ6Q8+alHyCT8hP5BnCwQqRY+3p6rMCJsny5dVEt9rz33w9XXmn3IfUWoKYoSnXITCiIyFQRuVdEdovIYyJyaVA+SUS2icjjwX5ipM5KEdkrIntE5Nws2pXGnXJoCC680A6ML79s9xdemD9AljKL8OUnCtswe3ZpsQiuew0N2WtECb+7hEX4vAsWwDveAV/6kt2fG/S6BqgpSpPiy38x0g2YApwefB4P/CcwE/gqsCIoXwFcFXyeCTwMdADTgV8CLUn3GEnuo3Ly5fjyEW3ZYo8XywMUvVc0p1BnpzGrVuW3YdWqwvuE6zMk3cu3rsOWLf41B3bscD/Xjh26VoGijGaoRe4jY8xzxpiHgs8vAruBE4CFwIbgtA1AuC7YQuAWY8yrxpgngL1AZos/VsqdstyV1yDnOfTQQ7k385CLLy4MbAvVPUn3SmNTuP129zPdfrsGqClKs1IVm4KITANmAz8DJhtjngMrOIBwdYETgGci1fYFZfFrXSQi/SLSP1QlBffs2YVRxW1ttjxJzeIbxAH27oU5cwqNuD09Vo0T5Z3vtOWuex04YF1YfYN4kk3hlFPczxuWVzoSWlGUBsA3hajUBowDHgQ+EHx/Pnb8f4P9N4GPRMrXAX+SdO1qps7euNGqe7q77T5U2ySpWdKodAYG3CqdgQF7vK2t8FhnZ06t41KL+dJgDw4aI5J/LRFVESnKaIdapc4WkTbgR8D3jTG3BcX7RWRKcHwKEC5OuQ+YGql+IvBslu0rhyVLbKDYvffafbGFdJJWXgP/7GLnTvf9w/J4xtNo3bA9cbVY0iJA3/++TZHR3m733/++qogUpZnJLHhNRARrM/iNMebTkfKrgf8xxnxFRFYAk4wxnxeRtwEbsXaE1wPbgZONMUd990gTvJYVviCvTZusyqitzQqEdetsziBfAN2vf23TW8QZGLAJ884+2y7RGaWjA555Jv1grgFqitJcJAWvZZkQ7yzgz4FHROTnQdllwFeAW0VkOfA08KcAxpjHRORWYAA4AnwySSDUG76Ec77EccuXw3XX5c4L3UR7emxuo+ixvj6bPXVoqDC/EcA114xsMK90sjxFURqXpktzUQ+Ukmpj926rMurttQIhJJx5tLTYmcc111iPJUVRlFKp1UxB8RB6EfnSXIMVBFFhEKIpqxVFyRIVCjVgpCuXqbpHUZSsaLrcR/WABoYpilKv6EyhRqgaSFGUekSFQg1RNZCiKPWGqo8URVGUYVQoKIqiKMOoUFAURVGGUaGgKIqiDKNCQVEURRlGhYKiKIoyjAoFRVEUZRgVCoqiKMowKhQURVGUYVQoKIqiKMOoUFAURVGGUaGgKIqiDKNCQVEURRkmM6EgIjeKyKCIPBopmyQi20Tk8WA/MXJspYjsFZE9InJuVu1SFEVR/GQ5U1gPvDdWtgLYbow5GdgefEdEZgKLgbcFda4XkZYM26YoiqI4yEwoGGP+HfhNrHghsCH4vAFYFCm/xRjzqjHmCWAv0JtV2xRFURQ31bYpTDbGPAcQ7I8Pyk8Anomcty8oK0BELhKRfhHpHxoayrSxiqIozUa9GJrFUWZcJxpjvmOMmWuMmdujy5YpiqJUlGoLhf0iMgUg2A8G5fuAqZHzTgSerXLbFEVRmp5qC4W7gKXB56XAnZHyxSLSISLTgZOBnVVum6IoStPTmtWFRWQT8B7gOBHZB1wJfAW4VUSWA08DfwpgjHlMRG4FBoAjwCeNMUezapuiKIriJjOhYIxZ4jl0tuf81cDqrNqjKIqiFKdeDM2KoihKHaBCQVEURRlGhYKiKIoyjAoFRVEUZRgVCoqiKMowKhQURVGUYVQoNCBDQ/DAA3avKIpSSVQoNBibNsEb3gDnnGP3mzbVukWKoowmVCg0EENDsHw5HDgAL7xg98uX64xBUZTKoUKhgXjySWhvzy9ra7PliqIolUCFQgMxbRocOpRfdviwLVcURakEKhQaiJ4eWLcOurpgwgS7X7fOliuKolSCzBLiKdmwZAnMn29VRtOmqUBQFKWyqFBoQHp6VBgoipINqj5SFEVRhlGhoCiKogyjQkFRFEUZRoWCoiiKMowKBUVRFGUYMcbUug2pEZEh4Kkipx0H/LoKzWkEtC/y0f7IR/sjx2jvizcYY5w+jA0tFEpBRPqNMXNr3Y56QPsiH+2PfLQ/cjRzX6j6SFEURRlGhYKiKIoyTDMIhe/UugF1hPZFPtof+Wh/5Gjavhj1NgVFURSldJphpqAoiqKUiAoFRVEUZZhRKxRE5L0iskdE9orIilq3pxaIyJMi8oiI/FxE+oOySSKyTUQeD/YTa93OrBCRG0VkUEQejZR5n19EVga/lz0icm5tWp0Nnr74goj8V/D7+LmIvC9ybNT2BYCITBWRe0Vkt4g8JiKXBuVN+fuIMiqFgoi0AN8EzgNmAktEZGZtW1Uz5hljTov4XK8AthtjTga2B99HK+uB98bKnM8f/D4WA28L6lwf/I5GC+sp7AuAbwS/j9OMMf8CTdEXAEeAvzLGzAB+H/hk8NzN+vsYZlQKBaAX2GuM+ZUx5hBwC7Cwxm2qFxYCG4LPG4BFNWxLphhj/h34TazY9/wLgVuMMa8aY54A9mJ/R6MCT1/4GNV9AWCMec4Y81Dw+UVgN3ACTfr7iDJahcIJwDOR7/uCsmbDAFtF5EERuSgom2yMeQ7sPwZwfM1aVxt8z9+sv5k+EflFoF4KVSVN1RciMg2YDfwM/X2MWqEgjrJm9L09yxhzOlaN9kkReVetG1THNONv5lvAm4DTgOeArwflTdMXIjIO+BHwaWPMb5NOdZSNyj4ZrUJhHzA18v1E4NkataVmGGOeDfaDwO3Y6e5+EZkCEOwHa9fCmuB7/qb7zRhj9htjjhpjXgO+S04d0hR9ISJtWIHwfWPMbUFx0/8+RqtQeAA4WUSmi0g71kB0V43bVFVEpFtExoefgQXAo9h+WBqcthS4szYtrBm+578LWCwiHSIyHTgZ2FmD9lWNcPAL+GPs7wOaoC9ERIB1wG5jzD9EDjX976O11g3IAmPMERHpA7YALcCNxpjHatysajMZuN3+9mkFNhpj/p+IPADcKiLLgaeBP61hGzNFRDYB7wGOE5F9wJXAV3A8vzHmMRG5FRjAeqZ80hhztCYNzwBPX7xHRE7DqkGeBC6G0d8XAWcBfw48IiI/D8ouo0l/H1E0zYWiKIoyzGhVHymKoigpUKGgKIqiDKNCQVEURRlGhYKiKIoyjAoFRVEUZRgVCooSICJHg2yhj4nIwyLyWREp+j8iIlcHda6uRjsVJUvUJVVRAkTkJWPMuODz8cBG4H5jzJVF6v0W6DHGvFqFZipKpuhMQVEcBKlBLsImjBMRaQlmBA8ECeQuBhCRu4Bu4GcicoGI9IjIj4LzHhCRs4LzvhAknfuJiPxKRD4VlHeLyD8HM5NHReSCoHyOiPw0SGa4JRZ9rCiZMSojmhWlEhhjfhWoj47Hpk5+wRjzdhHpAO4Xka3GmD8KZhinAYjIRuwaBTtE5CRsVP2M4JKnAPOA8cAeEfkWNjf/s8aY9wf1jwly8qwBFhpjhgJBsRpYVrWHV5oWFQqKkkyYHXMB8Dsi8sHg+zHY/DdPxM6fD8wM0osATAhzUAH/HKiYXhWRQWwqkkeAr4nIVcCPjTH3icipwKnAtuA6LdgspoqSOSoUFMWDiLwROIrNlCnAJcaYLUWqjQHOMMYciF0LIGpzOAq0GmP+U0TmAO8D/l5EtmIz2j5mjDmjMk+iKKWjNgVFcSAiPcBa4DpjvTG2AH8ZqHYQkbcE2WfjbAX6Itc5rch9Xg+8Yoy5GfgacDqwB+gRkTOCc9pE5G0VeCxFKYrOFBQlR1eQMbMNmwnzn4AwrfINwDTgoSDt8hDupUw/BXxTRH6B/f/6d+DjCfecBVwtIq8Bh4G/NMYcCtRU14rIMcF1/hFotky/Sg1Ql1RFURRlGFUfKYqiKMOoUFAURVGGUaGgKIqiDKNCQVEURRlGhYKiKIoyjAoFRVEUZRgVCoqiKMow/x+OBzgtcdIeywAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pockmon.plot(kind = 'scatter', x = 'HP', y = 'Total', c = 'r')\n",
    "pockmon.plot(kind = 'scatter', x = 'Defense', y = 'Total', c = 'b')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f8662ddac0>"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pockmon['Total'][:20].plot(kind = 'line',c = 'g')   # marker = 'o'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f866c3cd00>"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pockmon['Total'][:10].plot(kind = 'bar')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f866d8a580>"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pockmon[['Total','HP']][:10].plot(kind = 'barh')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1f866f05ca0>"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df[['Total','HP']][:10].plot(kind = 'area')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 设置中文支持\n",
    "matplotlib默认情况下不支持中文显示，如果需要显示中文，则我们需要做一些额外的设置操作。设置可以分为：\n",
    "\n",
    "我们可以通过执行：  \n",
    "`mpl.rcParams[\"font.family\"] = \"中文字体名称\"`  \n",
    "`mpl.rcParams[\"axes.unicode_minus\"]=False`  \n",
    "进行设置。常用的设置如下:\n",
    "* font.family 字体的名称\n",
    " + SimHei 中文黑体\n",
    " + FangSong 中文仿宋\n",
    " + YouYuan 中文幼圆\n",
    " + STSong 华文宋体\n",
    " + Kaiti 中文楷体\n",
    " + LiSu 中文隶书\n",
    "* font.style 字体的风格\n",
    " + normal 常规（默认）\n",
    " + italic 斜体\n",
    " + oblique 倾斜\n",
    "* font.size 字体的大小（默认10）\n",
    "* axes.unicode_minus 是否使用Unicode的减号（负号）【在支持中文显示状态下，需要设置为False】"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 设置中文支持\n",
    "import matplotlib as mpl\n",
    "mpl.rcParams[\"font.family\"] = \"SimHei\"   # SimHei 中文黑体\n",
    "mpl.rcParams[\"axes.unicode_minus\"]=False\n",
    "\n",
    "# matplotlib画图基本步骤\n",
    "plt.figure(figsize=(8,4))  # 1.设置画布大小\n",
    "plt.scatter(df['Total'],df['HP'], label = 'HP')\n",
    "plt.scatter(df['Total'],df['Attack'], label = 'Attack')\n",
    "plt.legend()  # 显示图例\n",
    "plt.title('我的图表')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "279.006px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
